import { PiniaPluginContext } from 'pinia'
/**
 * @param context
 * 第一个当前修改的store上下文
 * 第二个是当前修改状态
 */
export function persisted(context: PiniaPluginContext) {
  console.log('初始化执行', context.store.$id)
  const currentStore = JSON.parse(
    localStorage.getItem(context.store.$id) || '{}',
  )
  context.store.$patch(currentStore)
  context.store.$subscribe(
    (_store, state) => {
      // console.log(state,_store);
      localStorage.setItem(_store.storeId, JSON.stringify(state))
    },
    {
      // 组件卸载依赖还在
      detached: true,
    },
  )
}
// export function persisted(context: PiniaPluginContext) {
//     const initKey = `initialized_${context.store.$id}`;

//     if (!localStorage.getItem(initKey)) {
//       console.log("初始化执行", context.store.$id);
//       const currentStore = JSON.parse(localStorage.getItem(context.store.$id) || "{}");
//       context.store.$patch(currentStore);
//       localStorage.setItem(initKey, "true");
//     }

//     context.store.$subscribe((_store, state) => {
//       localStorage.setItem(_store.storeId, JSON.stringify(state));
//     }, {
//       detached: true,
//     });
//   }
